Wireless communication systems are widely deployed to provide various types of communication content, such as, voice, media, data, and so on. These systems may be multiple-access systems capable of supporting communication with multiple users by sharing available system resources (e.g., bandwidth and transmit power). Examples of such multiple-access systems include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, 3GPP LTE systems, and orthogonal frequency division multiple access (OFDMA) systems.
Generally, a wireless multiple-access communication system can concurrently support communication for multiple wireless terminals. Each terminal communicates with one or more base stations via transmissions on forward and reverse links. The forward link (or downlink) refers to a communication link from base stations to terminals, and the reverse link (or uplink) refers to a communication link from terminals to base stations. This communication link may be established via one or more of single-in-single-out (SISO), multiple-in-single-out (MISO) or multiple-in-multiple-out (MIMO) systems.
A MIMO system employs multiple (NT) transmit antennas and multiple (NR) receive antennas for data transmission. A MIMO channel formed by NT transmit and NR receive antennas may be decomposed into N independent channels, which are also referred to as spatial channels, where NS≦min{NT, NR}. Each of the NS independent channels corresponds to a dimension. The channels are used to transmit data in a manner that provides higher overall throughput and greater reliability.
The transmitter may encode and transmit N data symbols in a sequential or parallel manner via one or more transmit antennas which may be obtained at the receiver via one or more receive antennas. The receiver upon obtaining the symbols performs detection and decoding on the detected symbols to recover the transmitted data. In order to decode symbols with great accuracy, the receiver would need to evaluate many hypotheses for all possible sequences of data bits that might have been transmitted based on all of the information available at the receiver. Such an exhaustive search involves high computational intensity and may be impractical for many applications. It is therefore desirable to explore techniques that reduce computational intensity/complexity without significantly sacrificing accuracy.